package com.zzz.gp.dao;

import com.zzz.gp.bean.*;
import com.zzz.gp.bean.vo.AlarmCode;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @description:
 * @author: ZZZ
 * @time: 2021/12/6 13:00
 */
@Mapper
public interface GpMapper {

    void cleanCode();

    void batchInsert(List<Gp> list);

    void deleteGpCode(@Param("name") String name);

    void historyBatchInsert(List<GpHistory> list);

    void historyBatchInsert2(List<GpHistory> list);

    void historyExitInsert(@Param("code") String code);

    List<Gp> getCode();

    Set<String> getSetCode();

    List<String> getCodeList();

    List<GpHistory> getHistoryDataAll(@Param("code") String code);

    List<GpHistory> getTodayLimitUpDataAll(@Param("today") String today);

    Integer getTodayDataCount(@Param("today") String today);

    List<GpHistory> getHistoryData(@Param("code") String code, @Param("limit") Integer limit);

    List<GpHistory> getHistoryData2(@Param("limit") Integer limit);

    List<GpDateHistory> getHistoryData3(@Param("limit") Integer limit);

    List<GpHistory> getHistoryData4(@Param("limit") Integer limit);


    List<AlarmCode> getAlarmCode();

    void cleanAlarmCode();

    int deleteHistoryData(@Param("day") String day);

    List<String> getAMFDay();

    List<String> getA17();

    List<String> getV17();

    List<String> getLP(@Param("day") String day);


    String getMonthLastDate(@Param("month") String month, @Param("sort") String sort);

    List<GpCodeHistory> getMonthHistoryDataByDate(@Param("day1") String day1, @Param("day2") String day2, @Param("day3") String day3);


    void riseProportionInsert();

    void szRiseProportionInsert(@Param("sz") Integer sz, @Param("day") String day, @Param("type") String type);

    void cleanRiseProportionInsert();

    List<RiseProportion> riseProportionQuery();

    List<GpCodeHistory> getMonthData();

    List<GpCodeHistory> getWeekData();

    List<GpCodeHistory> getDayData();


    void cleanGpHistory();

    void cleanGpHistory2();

    List<String> queryDayList();

    Integer count5(@Param("nowDay") String nowDay, @Param("pastDay") String pastDay);


}
